﻿Imports System.Drawing

Namespace Othello
    ''' <summary>
    ''' Summary description for Options.
    ''' </summary>
    Public Class Options

        ' Define the game options.
        Public ShowValidMoves As Boolean
        Public PreviewMoves As Boolean
        Public BoardColor As Color
        Public ValidMoveColor As Color
        Public ActiveSquareColor As Color
        Public MoveIndicatorColor As Color
        Public FirstMove As Integer

        '
        ' Creates a new Options object using the defaults.
        '
        Public Sub New()
            '
            ' TODO: Add constructor logic here
            '

            ' Initialize the game options to their default values.
            Me.RestoreDefaults()
        End Sub

        '
        ' Creates a new Options object by copying an existing one.
        '
        Public Sub New(ByVal options__1 As Options)
            Me.ShowValidMoves = options__1.ShowValidMoves
            Me.PreviewMoves = options__1.PreviewMoves
            Me.BoardColor = options__1.BoardColor
            Me.ValidMoveColor = options__1.ValidMoveColor
            Me.ActiveSquareColor = options__1.ActiveSquareColor
            Me.MoveIndicatorColor = options__1.MoveIndicatorColor
            Me.FirstMove = Board.Black
        End Sub

        '
        ' Restores all game options to their default values.
        '
        Public Sub RestoreDefaults()
            Me.ShowValidMoves = True
            Me.PreviewMoves = False
            Me.BoardColor = SquareControl.NormalBackColorDefault
            Me.ValidMoveColor = SquareControl.ValidMoveBackColorDefault
            Me.ActiveSquareColor = SquareControl.ActiveSquareBackColorDefault
            Me.MoveIndicatorColor = SquareControl.MoveIndicatorColorDefault
            Me.FirstMove = Board.Black
        End Sub
    End Class
End Namespace
